package com.guoyansoft.model.dao;

import com.guoyansoft.model.pojo.Address;
import com.guoyansoft.model.pojo.District;
import com.guoyansoft.model.pojo.ProductTeam;
import com.guoyansoft.model.pojo.Yardman;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @author ：高凡
 * @date ：Created in 2023-04-26-11:42
 * 调度员实体dao接口
 */
@Mapper
public interface YardmanDao {

    /**
     * @param yardman 要添加的调度员实体
     * @return 添加记录数
     */
    int insert(Yardman yardman);

    /**
     * @param id 调度员实体的编号
     * @return 删除记录数
     */
    int delete(Integer[] id);

    /**
     * @param yardman 要修改的调度员实体
     * @return 修改记录数
     */
    int update(Yardman yardman);

    /**
     * @param map 查询的条件
     * @return 查询到的所有集合
     */
    List<Yardman> selectByPage(Map<String,Object> map);

    /**
     * @param map 查询的条件
     * @return 查询到的总记录数
     */
    long selectTotal(Map<String,Object> map);

    /**
     * 查询某个调度员所负责的区域
     * @param id 调度员id
     * @return 查询到的区域
     */
    List<District> selectAddress(Integer id);

    /**
     * 查询某个调度员所负责的产品组
     * @param id 调度员id
     * @return 查询到的产品组
     */
    List<ProductTeam> selectProduct(Integer id);
    Yardman selectByLogin(Yardman yardman);

    /**
     * 根据district查对应实体信息
     * @param
     * @return
     */
    District selectByDistrict(Map<String,Object> params);
    /**
     * 根据id查对应实体信息
     * @param
     * @return
     */
    Yardman selectById(Integer id);
}
